library(dplyr, warn.conflicts = FALSE)
library(tidyr, warn.conflicts = FALSE)
library(ggplot2, warn.conflicts = FALSE)
library(readxl, warn.conflicts = FALSE)
library(plotly, warn.conflicts = FALSE)
set.seed(997)
bitcoin_diff <- read.csv("data/Bitcoin/BCHAIN-DIFF.csv", header=TRUE)
bitcoin_hrate <- read.csv("data/Bitcoin/BCHAIN-HRATE.csv", header=TRUE)
bitcoin_mkpru <- read.csv("data/Bitcoin/BCHAIN-MKPRU.csv", header=TRUE)
bitcoin_trvou <- read.csv("data/Bitcoin/BCHAIN-TRVOU.csv", header=TRUE)
currency_exchange_rates <- read.csv("data/CurrencyExchangeRates.csv", header=TRUE)
#currency_exchange_rates[,1] <- as.POSIXct(strptime(currency_exchange_rates[,1], "%Y-%m-%d"))
gold_prices <- read.csv("data/Gold_prices.csv", header=TRUE, col.names = c("date", "USD_AM", "USD_PM", "GBP_AM", "GBP_PM", "EURO_AM", "EURO_PM"))
s_p_composite <- read.csv("data/S&PComposite.csv", header=TRUE)
world_development_indicators <- read_excel("data/World_Development_Indicators.xlsx", sheet="Data", na=c(".."))
bitcoin_diff <- bitcoin_diff %>%
mutate(Date=as.POSIXct(strptime(Date, "%Y-%m-%d"))) %>%
rename(date=Date, value=Value)
bitcoin_hrate <- bitcoin_hrate %>%
mutate(Date=as.POSIXct(strptime(Date, "%Y-%m-%d"))) %>%
rename(date=Date, value=Value)
bitcoin_mkpru <- bitcoin_mkpru %>%
mutate(Date=as.POSIXct(strptime(Date, "%Y-%m-%d"))) %>%
rename(date=Date, value=Value)
bitcoin_trvou <- bitcoin_trvou %>%
mutate(Date=as.POSIXct(strptime(Date, "%Y-%m-%d"))) %>%
rename(date=Date, value=Value)
currency_exchange_rates <-currency_exchange_rates %>%
select(Date, Euro, U.K..Pound.Sterling) %>%
rename(date=Date, EURO=Euro, GBP=U.K..Pound.Sterling) %>%
gather(currency, value, EURO:GBP) %>%
mutate(currency=as.factor(currency), date=as.POSIXct(strptime(date, "%Y-%m-%d")), value=1/value) %>%
filter(!is.na(value))
gold_prices <- mutate(gold_prices,USD=f(USD_AM, USD_PM), GBP=f(GBP_AM, GBP_PM), EURO=f(EURO_AM, EURO_PM)) %>%
select(date, USD, GBP, EURO) %>%
gather(currency, value, USD:EURO) %>%
mutate(currency=as.factor(currency), date=as.POSIXct(strptime(date, "%Y-%m-%d"))) %>%
filter(!is.na(value))
s_p_composite <- gather(s_p_composite, indicator, value, S.P.Composite:Cyclically.Adjusted.PE.Ratio) %>%
mutate(indicator=as.factor(indicator), Year=cut(as.POSIXct(strptime(Year, "%Y-%m-%d")), "month")) %>%
rename(date=Year) %>%
filter(!is.na(value))
world_development_indicators <- gather(world_development_indicators,date, value, "1970 [YR1970]":"2020 [YR2020]") %>%
mutate(year=as.POSIXct(strptime(sprintf('%s-01-01',substr(date, 1, 4)), "%Y-%m-%d"))) %>%
rename(country_name=`Country Name`, indicator=`Series Name`) %>%
mutate(country_name=as.factor(country_name), indicator=as.factor(indicator)) %>%
filter(!is.na(value)) %>%
select(country_name, indicator, year, value)
Statystki
| Date | Value | |
|---|---|---|
| Min. :2009-01-02 00:00:00 | Min. :0.000e+00 | |
| 1st Qu.:2012-03-11 18:00:00 | 1st Qu.:1.689e+06 | |
| Median :2015-05-20 12:00:00 | Median :4.881e+10 | |
| Mean :2015-05-20 12:24:33 | Mean :3.664e+12 | |
| 3rd Qu.:2018-07-28 06:00:00 | 3rd Qu.:5.364e+12 | |
| Max. :2021-10-05 00:00:00 | Max. :2.505e+13 |
Zbiór zawiera 4660 obserwacji reprezentujących trudność znalezienia nowego bloku podczas kopania kryptowaluty z okresu między 2009-01-02 a 2021-10-05. Na poniższym wykresie widać, że wartości zaczęły gwałtownie rosnąć od 2017 roku z wyraźniejszymi spadkami w roku 2019 i 2021.
Statystyki
| Date | Value | |
|---|---|---|
| Min. :2009-01-03 00:00:00 | Min. : 0 | |
| 1st Qu.:2012-03-12 12:00:00 | 1st Qu.: 12 | |
| Median :2015-05-21 00:00:00 | Median : 356089 | |
| Mean :2015-05-21 00:24:32 | Mean : 26458258 | |
| 3rd Qu.:2018-07-28 12:00:00 | 3rd Qu.: 38265984 | |
| Max. :2021-10-05 00:00:00 | Max. :198514006 |
Zbiór zawiera 4659 obserwacji przedstawiających liczbę tera haszy na sekundę wykonywanych przez sieć Bitcoina w okresie od 2009-01-03 do 2021-10-05. Na poniższym wykresie widać podobny trend jak w przypadku trudności znalezienia nowego bloku. Potwierdza to współczynnik korelacji Pearsona, który wynosi 0.989704.
Statystyki
| Date | Value | |
|---|---|---|
| Min. :2009-01-02 00:00:00 | Min. : 0.0 | |
| 1st Qu.:2012-03-12 00:00:00 | 1st Qu.: 7.2 | |
| Median :2015-05-21 00:00:00 | Median : 431.9 | |
| Mean :2015-05-21 00:24:32 | Mean : 5141.2 | |
| 3rd Qu.:2018-07-29 00:00:00 | 3rd Qu.: 6499.1 | |
| Max. :2021-10-06 00:00:00 | Max. :63554.4 |
Zbiór zaweierający wartości Bitcoina w dolarach zawiera 4661 obserwacji. W okresie od 2009-01-02 do 2021-10-06 najwyższa warość Bitocina wyniosła 6.355444^{4} dolarów, a średnia 5141.23 dolarów. Duży spadek, który można zaobserwować w połowie 2021 roku spowodowany został zapowiedziami Chińskiego rządu dotyczącymi regulacji odnośnie kryptowalut oraz tweetami Elona Muska na temat zablokowania możliwości płacenia za samochody marki Tesla w tej kryptowalucie czy sprzedaży przez tę firmę sprzedaży posiadanych Bitcoinów o wartości 1,5 mld dolarów (https://pl.wikipedia.org/wiki/Bitcoin#Rynek). Wykres wygląda podobnie do wykresu trudności znaleziania nowego bloku i szacowanej liczby tera haszy na sekunde co potwierdzają wartości współczynnika korelacji Pearsona, które wynoszą odpowiednio 0.82 i 0.82.
Korelację między trudnością znalezienia nowego bloku, szacowaną liczbą tera haszy na sekundę i wartością Bitcoina w dolarach można pokazać na jednym wykresie. W celu czytelenego pokazania wszystkich zmiennych wartości poszczególnych miar zostały znormalizowane.
Statystyki
| date | currency | value | |
|---|---|---|---|
| Min. :1999-01-04 00:00:00 | EURO:5748 | Min. : 237.0 | |
| 1st Qu.:2004-09-09 18:00:00 | GBP : 0 | 1st Qu.: 335.2 | |
| Median :2010-05-18 12:00:00 | USD : 0 | Median : 894.7 | |
| Mean :2010-05-18 00:24:54 | NA | Mean : 797.3 | |
| 3rd Qu.:2016-01-25 06:00:00 | NA | 3rd Qu.:1114.7 | |
| Max. :2021-09-29 00:00:00 | NA | Max. :1736.2 |
W okresie od 1999-01-04 do 2021-09-29 cena złota w Euro wachała się od 237.021 do 1736.15. Średnia wartość w tym okresie wyniosła 797.25.
Statystyki
| date | currency | value | |
|---|---|---|---|
| Min. :1968-01-02 00:00:00 | EURO: 0 | Min. : 14.48 | |
| 1st Qu.:1981-06-22 06:00:00 | GBP :13574 | 1st Qu.: 177.71 | |
| Median :1994-11-21 12:00:00 | USD : 0 | Median : 234.52 | |
| Mean :1994-11-23 03:49:44 | NA | Mean : 370.78 | |
| 3rd Qu.:2008-04-27 06:00:00 | NA | 3rd Qu.: 454.79 | |
| Max. :2021-09-29 00:00:00 | NA | Max. :1566.94 |
W okresie od 1968-01-02 do 2021-09-29 cena złota w funtach wachała się od 14.482 do 1566.945. Średnia wartość w tym okresie wyniosła 370.78.
Statystyki
| date | currency | value | |
|---|---|---|---|
| Min. :1968-01-02 00:00:00 | EURO: 0 | Min. : 34.76 | |
| 1st Qu.:1981-06-10 00:00:00 | GBP : 0 | 1st Qu.: 280.27 | |
| Median :1994-11-14 00:00:00 | USD :13585 | Median : 383.38 | |
| Mean :1994-11-16 03:40:00 | NA | Mean : 575.07 | |
| 3rd Qu.:2008-04-23 00:00:00 | NA | 3rd Qu.: 841.00 | |
| Max. :2021-09-29 00:00:00 | NA | Max. :2058.15 |
W okresie od 1968-01-02 do 2021-09-29 cena złota w dolarach wachała się od 34.76 do 2058.15. Średnia wartość w tym okresie wyniosła 575.07. W cenach złota można zaobserować wzrost w 1980 roku, po którym do 2005 roku nie obserwuje się dużych wahań.
Statystyki
| date | currency | value | |
|---|---|---|---|
| Min. :1995-01-03 00:00:00 | EURO:4908 | Min. :0.8252 | |
| 1st Qu.:2002-03-25 00:00:00 | GBP :5856 | 1st Qu.:1.2440 | |
| Median :2007-06-30 12:00:00 | NA | Median :1.4416 | |
| Mean :2007-06-19 12:07:04 | NA | Mean :1.4292 | |
| 3rd Qu.:2012-11-09 00:00:00 | NA | 3rd Qu.:1.6080 | |
| Max. :2018-05-02 00:00:00 | NA | Max. :2.1020 |
Najwyższą wartość w euro dolar osiągnął 26-10-2000, wyniosła ona 1.21 euro. Najniższa wartość wyniosła 0.63 i została odnotowana w dniu 15-07-2008. W przypadku funta najwyższa wartość, którą dolar osiągnął w tej walucie wyniosła 0.82 (11-01-2017) a najniższa 0.48 (08-11-2007).
Statystyki
| Year | measurment | value | |
|---|---|---|---|
| Min. :1871-01-31 00:00:00 | CPI :1810 | Min. : 0.160 | |
| 1st Qu.:1909-07-31 00:00:00 | Cyclically.Adjusted.PE.Ratio:1690 | 1st Qu.: 5.194 | |
| Median :1946-11-30 00:00:00 | Dividend :1806 | Median : 14.100 | |
| Mean :1946-11-26 14:09:49 | Earnings :1806 | Mean : 124.066 | |
| 3rd Qu.:1984-04-30 00:00:00 | Long.Interest.Rate :1810 | 3rd Qu.: 42.965 | |
| Max. :2021-10-31 00:00:00 | Real.Dividend :1806 | Max. :4493.280 | |
| NA | Real.Earnings :1806 | NA | |
| NA | Real.Price :1810 | NA | |
| NA | S.P.Composite :1810 | NA |
Statystyki
| date | indicator | value | |
|---|---|---|---|
| Min. :1871-01-31 00:00:00 | CPI :1810 | Min. : 6.28 | |
| 1st Qu.:1908-10-07 18:00:00 | Cyclically.Adjusted.PE.Ratio: 0 | 1st Qu.: 10.20 | |
| Median :1946-06-15 00:00:00 | Dividend : 0 | Median : 20.35 | |
| Mean :1946-06-15 19:15:12 | Earnings : 0 | Mean : 62.39 | |
| 3rd Qu.:1984-02-21 18:00:00 | Long.Interest.Rate : 0 | 3rd Qu.:102.28 | |
| Max. :2021-10-31 00:00:00 | Real.Dividend : 0 | Max. :273.98 | |
| NA | (Other) : 0 | NA |
Indeks CPI to średnia ważona towarów i usług kupowanych przez przeciętne gospodarstwo domowe (https://pl.wikipedia.org/wiki/Wska%C5%BAnik_cen_towar%C3%B3w_i_us%C5%82ug_konsumpcyjnych). W latach 1871-01-31 do 2021-10-31 wahał się od 6.2796132 do 273.98325. Na wykresie widać, że po roku 1973 nastąpił gwałtowniejszy wzrost wartości tego indeksu.
Statystyki
| date | indicator | value | |
|---|---|---|---|
| Min. :1881-01-31 00:00:00 | Cyclically.Adjusted.PE.Ratio:1690 | Min. : 4.784 | |
| 1st Qu.:1916-04-07 12:00:00 | CPI : 0 | 1st Qu.:11.898 | |
| Median :1951-06-15 00:00:00 | Dividend : 0 | Median :16.381 | |
| Mean :1951-06-15 22:53:13 | Earnings : 0 | Mean :17.215 | |
| 3rd Qu.:1986-08-23 06:00:00 | Long.Interest.Rate : 0 | 3rd Qu.:20.913 | |
| Max. :2021-10-31 00:00:00 | Real.Dividend : 0 | Max. :44.198 | |
| NA | (Other) : 0 | NA |
Powyższy wskaźnik pomaga w ocenie czy ceny akcji na giełdzie są zawyżone. Najwyższa jego wartość wyniosła 44.1979398. Miało to miejsce w 1999 roku. Był to okres “bański internetowej” kiedy to przeceniane były wartości firm prowadzących działalność w internecie (https://pl.wikipedia.org/wiki/Ba%C5%84ka_internetowa). Inna wysoka wartość widoczna na wykresie to okres początku wielkiego kryzysu (https://pl.wikipedia.org/wiki/Czarny_wtorek https://www.parkiet.com/Felietony/309199946-Co-podpowiada-wskaznik-Shiller-PE.html?preview=&remainingPreview=&grantedBy=preview&).
Statystyki
| date | indicator | value | |
|---|---|---|---|
| Min. :1871-01-31 00:00:00 | Dividend :1806 | Min. : 0.1800 | |
| 1st Qu.:1908-08-31 00:00:00 | Real.Dividend :1806 | 1st Qu.: 0.8725 | |
| Median :1946-04-15 00:30:00 | CPI : 0 | Median : 9.0136 | |
| Mean :1946-04-15 22:14:47 | Cyclically.Adjusted.PE.Ratio: 0 | Mean :12.1151 | |
| 3rd Qu.:1983-11-30 00:00:00 | Earnings : 0 | 3rd Qu.:18.5018 | |
| Max. :2021-06-30 00:00:00 | Long.Interest.Rate : 0 | Max. :63.5107 | |
| NA | (Other) : 0 | NA |
Wartość dywident w okresie czasu, który obejmują dane wykazują trend wzrostowy z jedyn wyraźnym spadkiem w latach 2007 - 2009. Wartości faktycznych dywident przez cały okres była większa niż wartość dywident i wykazywała się większymi wahaniami.
Statystyki
| date | indicator | value | |
|---|---|---|---|
| Min. :1871-01-31 00:00:00 | Earnings :1806 | Min. : 0.160 | |
| 1st Qu.:1908-08-31 00:00:00 | Real.Earnings :1806 | 1st Qu.: 1.465 | |
| Median :1946-04-15 00:30:00 | CPI : 0 | Median : 14.448 | |
| Mean :1946-04-15 22:14:47 | Cyclically.Adjusted.PE.Ratio: 0 | Mean : 25.139 | |
| 3rd Qu.:1983-11-30 00:00:00 | Dividend : 0 | 3rd Qu.: 36.072 | |
| Max. :2021-06-30 00:00:00 | Long.Interest.Rate : 0 | Max. :159.504 | |
| NA | (Other) : 0 | NA |
Podobnie jak w przypadku dywident faktyczny zysk wykazuje się większymi wahaniami i większą wartością niż zysk.
Statystyki
| date | indicator | value | |
|---|---|---|---|
| Min. :1871-01-31 00:00:00 | Long.Interest.Rate :1810 | Min. : 0.620 | |
| 1st Qu.:1908-10-07 18:00:00 | CPI : 0 | 1st Qu.: 3.171 | |
| Median :1946-06-15 00:00:00 | Cyclically.Adjusted.PE.Ratio: 0 | Median : 3.815 | |
| Mean :1946-06-15 19:15:12 | Dividend : 0 | Mean : 4.504 | |
| 3rd Qu.:1984-02-21 18:00:00 | Earnings : 0 | 3rd Qu.: 5.139 | |
| Max. :2021-10-31 00:00:00 | Real.Dividend : 0 | Max. :15.320 | |
| NA | (Other) : 0 | NA |
Statystyki
| date | indicator | value | |
|---|---|---|---|
| Min. :1871-01-31 00:00:00 | Real.Price :1810 | Min. : 73.9 | |
| 1st Qu.:1908-10-07 18:00:00 | CPI : 0 | 1st Qu.: 186.6 | |
| Median :1946-06-15 00:00:00 | Cyclically.Adjusted.PE.Ratio: 0 | Median : 283.3 | |
| Mean :1946-06-15 19:15:12 | Dividend : 0 | Mean : 622.0 | |
| 3rd Qu.:1984-02-21 18:00:00 | Earnings : 0 | 3rd Qu.: 707.0 | |
| Max. :2021-10-31 00:00:00 | Long.Interest.Rate : 0 | Max. :4477.2 | |
| NA | (Other) : 0 | NA |
Statystyki
| date | indicator | value | |
|---|---|---|---|
| Min. :1871-01-31 00:00:00 | S.P.Composite :1810 | Min. : 2.730 | |
| 1st Qu.:1908-10-07 18:00:00 | CPI : 0 | 1st Qu.: 7.902 | |
| Median :1946-06-15 00:00:00 | Cyclically.Adjusted.PE.Ratio: 0 | Median : 17.370 | |
| Mean :1946-06-15 19:15:12 | Dividend : 0 | Mean : 327.968 | |
| 3rd Qu.:1984-02-21 18:00:00 | Earnings : 0 | 3rd Qu.: 164.400 | |
| Max. :2021-10-31 00:00:00 | Long.Interest.Rate : 0 | Max. :4493.280 | |
| NA | (Other) : 0 | NA |
Statystyki
| country_name | indicator | year | value | |
|---|---|---|---|---|
| Mexico : 7674 | Population, total : 10576 | Min. :1970-12-31 00:00:00 | Min. : -481321056610000 | |
| United Kingdom: 7540 | Population growth (annual %) : 10573 | 1st Qu.:1988-12-31 00:00:00 | 1st Qu.: 6 | |
| Korea, Rep. : 7505 | Rural population (% of total population): 10548 | Median :2000-12-31 00:00:00 | Median : 41 | |
| Peru : 7505 | Urban population (% of total population): 10548 | Mean :1999-05-10 10:35:42 | Mean : 351647861972 | |
| Turkey : 7505 | Rural population : 10525 | 3rd Qu.:2010-12-31 00:00:00 | 3rd Qu.: 9240 | |
| Costa Rica : 7474 | Urban population : 10525 | Max. :2020-12-31 00:00:00 | Max. :10211700000000000 | |
| (Other) :1084125 | (Other) :1066033 | NA | NA |
Zbiór opisuje 201 państw oraz cały świat oraz 6 kategori wysokości przychdu przy pomocy 213 wskaźników w latach 1970-2020.
Przy szukaniu korelacji… ## Korelacje pomiędzyw wkażnikami rozwoju ### Świat
#indicators <- unique(world_development_indicators$indicator)
#world <- world_development_indicators %>% filter(country_name == "World")
#for (i in indicators) {
# for (j in indicators) {
# if(i!=j){
# x <- world %>% filter(indicator == i)
# y <- world %>% filter(indicator == j)
# joined <- inner_join(x, y, by="year")
# c <- cor(joined$value.x, joined$value.y)
# txt <- paste(i , " do " , j , "wynosi ", c)
# if (!is.na(c) & abs(c) > 0.9){
# print(txt)
# }
#
# }
# }
#
#}